﻿using System;
using System.Collections.Generic;
using AgileBoard.Domain;

namespace AgileBoard.Demo
{
    public class FakeLabelData
    {
        public static List<Label> CreateDemoLabels()
        {
            var label = new List<Label>();

            for (int i = 0; i < 14; i++)
            {
                var sampleLabel = new Label
                                      {
                                          LabelID = Guid.NewGuid(),
                                          IterationID = "29DC7A46-52B5-4941-AAE2-F48592847E42",
                                          Date = DateTime.Now.AddDays(i).ToShortDateString(),
                                          CreateTime = DateTime.Now
                                      };

                label.Add(sampleLabel);
            }

            return label;
        }

        public static List<Label> CreateDefaultLabels()
        {
            int start = 14;
            var label = new List<Label>();

            for (int i = 0; i < 14; i++)
            {
                var sampleLabel = new Label
                                      {
                                          LabelID = Guid.NewGuid(),
                                          IterationID = "BE4B0656-8685-439e-B4EA-66D5C9BA7508",
                                          Date = DateTime.Now.AddDays(start + i).ToShortDateString(),
                                          CreateTime = DateTime.Now
                                      };

                label.Add(sampleLabel);

                start++;
            }

            return label;
        }

        public static List<Label> CreateSprint2Labels()
        {
            int start = 14;
            var label = new List<Label>();
            DateTime date = DateTime.Now.RemoveDays(3);

            for (int i = 0; i < 14; i++)
            {
                var sampleLabel = new Label
                                      {
                                          LabelID = Guid.NewGuid(),
                                          IterationID = "8DD80B5B-CE96-4dd4-882D-2EAA1859C37F",
                                          Date = date.AddDays(i).ToShortDateString(),
                                          CreateTime = DateTime.Now
                                      };

                label.Add(sampleLabel);

                start++;
            }

            return label;
        }

        public static List<Label> CreateSprint1Labels()
        {
            int start = 14;
            var label = new List<Label>();
            DateTime date = DateTime.Now.RemoveDays(17);

            for (int i = 0; i < 14; i++)
            {
                var sampleLabel = new Label
                                      {
                                          LabelID = Guid.NewGuid(),
                                          IterationID = "25A996D0-842A-4bb3-A081-E0B762F9B4AB",
                                          Date = date.AddDays(i).ToShortDateString(),
                                          CreateTime = DateTime.Now
                                      };

                label.Add(sampleLabel);

                start++;
            }

            return label;
        }

        public static List<Label> CreateSprint3Labels()
        {
            int start = 14;
            var label = new List<Label>();
            DateTime date = DateTime.Now.AddDays(10);

            for (int i = 0; i < 14; i++)
            {
                var sampleLabel = new Label
                                      {
                                          LabelID = Guid.NewGuid(),
                                          IterationID = "1A8ACB7C-CF3C-4977-81A1-8CCFBFD352FA",
                                          Date = date.AddDays(i).ToShortDateString(),
                                          CreateTime = DateTime.Now
                                      };

                label.Add(sampleLabel);

                start++;
            }

            return label;
        }
    }
}